#pragma once
#include<stdio.h>
#include<stdbool.h>
#include<stdlib.h>
#include<assert.h>
#include<stdbool.h>

typedef int HPDatatype;
typedef struct heap {
	HPDatatype* arr;
	int size;
	int capacity;
}heap;

void HpInit(heap* php);

void HpDestroy(heap* php);

void HpPush(heap* php, HPDatatype x);
//向上调整法
void Adjustup(HPDatatype* arr, int n);

void Swap(int* x, int* y);

void HpPrint(heap* php);


bool HpEmpty(heap* php);

//出堆
void HpPop(heap* php);

//取堆顶

HPDatatype Hptop(heap* php);